package com.volunteer.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 志愿者信息实体类
 */
@Data
@TableName("volunteer_profile")
public class VolunteerProfile implements Serializable {

    @TableId(type = IdType.AUTO)
    private Long id;

    private Long userId;

    private String realName;

    private Integer gender;  // 0-女, 1-男

    private Integer age;

    private String idCard;

    private String address;

    private String skills;

    private String availableTime;

    private BigDecimal totalHours;

    private Integer totalPoints;

    private Integer cancelCount;  // 取消次数（30天内）

    private LocalDateTime lastCancelTime;  // 最后一次取消时间

    private Integer isBlacklisted;  // 是否失信：0-正常，1-失信

    private String blacklistReason;  // 失信原因

    private LocalDateTime blacklistUntil;  // 失信限制到期时间

    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}

